package com.uzai.console.service.groupsendjob;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.groupsendjob.*;
import com.uzai.console.vo.groupsendjob.GroupSendCountVo;
import com.uzai.console.vo.groupsendjob.GroupSendJobInfoVo;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface GroupSendJobService {

    /**
     * 查询群发任务列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param query
     * @return null
     */
    Page<GroupSendJobInfoVo> findGroupSendJobList(GroupSendJobQuery query);

    /**
     * 查询群发任务详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param groupSendJobIdDto
     * @return null
     */
    GroupSendJobInfoVo findGroupSendJobInfo(GroupSendJobIdDto groupSendJobIdDto);

    /**
     * 修改群发任务开始时间
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param groupSendJobUpdateDto
     * @return null
     */
    void updateGroupSendJob(GroupSendJobUpdateDto groupSendJobUpdateDto);

    /**
     * 查询添加群发任务任务总数
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param groupSendJobAddDto
     * @return null
     */
    GroupSendCountVo findAddGroupSendJobCount(GroupSendJobAddDto groupSendJobAddDto);

    /**
     * 添加群发任务
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param groupSendJobAddDto
     * @return null
     */
    void addGroupSendJob(GroupSendJobAddDto groupSendJobAddDto, String loginName);

    /**
     * 开始群发任务
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param groupSendJobIdDto
     * @return null
     */
    void startGroupSendJob(GroupSendJobIdDto groupSendJobIdDto);

    /**
     * 暂停群发任务
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param groupSendJobIdDto
     * @return null
     */
    void pauseGroupSendJob(GroupSendJobIdDto groupSendJobIdDto);

    /**
     * 结束群发任务
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param groupSendJobIdDto
     * @return null
     */
    void finishGroupSendJob(GroupSendJobIdDto groupSendJobIdDto);

    /**
     * 删除群发任务
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param groupSendJobIdDto
     * @return null
     */
    void deleteGroupSendJob(GroupSendJobIdDto groupSendJobIdDto);

    /**
     * 修改个人微信通讯录群发任务
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param groupSendJobRepairDto
     * @return null
     */
    void repairWxContactGroupSendJob(GroupSendJobRepairDto groupSendJobRepairDto);


}
